<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.13"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Alexa Auto SDK: aace::alexa::AuthProviderEngineInterface Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Logo" src="aace-logo.png"/></td>
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">Alexa Auto SDK
   &#160;<span id="projectnumber">2.2.0</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><b>aace</b></li><li class="navelem"><b>alexa</b></li><li class="navelem"><a class="el" href="classaace_1_1alexa_1_1_auth_provider_engine_interface.html">AuthProviderEngineInterface</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#pub-types">Public Types</a> &#124;
<a href="classaace_1_1alexa_1_1_auth_provider_engine_interface-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">aace::alexa::AuthProviderEngineInterface Class Reference<span class="mlabels"><span class="mlabel">abstract</span></span></div>  </div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
Public Types</h2></td></tr>
<tr class="memitem:abe4ab37548dfaf7744afe9078e1792ec"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classaace_1_1alexa_1_1_auth_provider_engine_interface.html#abe4ab37548dfaf7744afe9078e1792ec">AuthState</a> { <br />
&#160;&#160;<a class="el" href="classaace_1_1alexa_1_1_auth_provider_engine_interface.html#abe4ab37548dfaf7744afe9078e1792ecadd652546039b18970b8dcf2cff824268">AuthState::UNINITIALIZED</a>, 
<br />
&#160;&#160;<a class="el" href="classaace_1_1alexa_1_1_auth_provider_engine_interface.html#abe4ab37548dfaf7744afe9078e1792eca87d0a2ea7d2aee5153eaa716da4c8f60">AuthState::REFRESHED</a>, 
<br />
&#160;&#160;<a class="el" href="classaace_1_1alexa_1_1_auth_provider_engine_interface.html#abe4ab37548dfaf7744afe9078e1792eca38afd7ae34bd5e3e6fc170d8b09178a3">AuthState::EXPIRED</a>, 
<br />
&#160;&#160;<a class="el" href="classaace_1_1alexa_1_1_auth_provider_engine_interface.html#abe4ab37548dfaf7744afe9078e1792ecaa0d7ca35e85a9f7eb269d17c780ab691">AuthState::UNRECOVERABLE_ERROR</a>
<br />
 }</td></tr>
<tr class="separator:abe4ab37548dfaf7744afe9078e1792ec"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a006d3fd3bee07feafa325968054abc37"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classaace_1_1alexa_1_1_auth_provider_engine_interface.html#a006d3fd3bee07feafa325968054abc37">AuthError</a> { <br />
&#160;&#160;<a class="el" href="classaace_1_1alexa_1_1_auth_provider_engine_interface.html#a006d3fd3bee07feafa325968054abc37ad306b6fdee05fe87455110ddf6501e6c">AuthError::NO_ERROR</a>, 
<br />
&#160;&#160;<a class="el" href="classaace_1_1alexa_1_1_auth_provider_engine_interface.html#a006d3fd3bee07feafa325968054abc37a9a10f345b0f755d461a8673a5e9ef6b4">AuthError::UNKNOWN_ERROR</a>, 
<br />
&#160;&#160;<a class="el" href="classaace_1_1alexa_1_1_auth_provider_engine_interface.html#a006d3fd3bee07feafa325968054abc37adce1442cd971edf5002db43b36fffa35">AuthError::AUTHORIZATION_FAILED</a>, 
<br />
&#160;&#160;<a class="el" href="classaace_1_1alexa_1_1_auth_provider_engine_interface.html#a006d3fd3bee07feafa325968054abc37a0416665af33a040a02e16a0448a44c92">AuthError::UNAUTHORIZED_CLIENT</a>, 
<br />
&#160;&#160;<a class="el" href="classaace_1_1alexa_1_1_auth_provider_engine_interface.html#a006d3fd3bee07feafa325968054abc37a3fd4acc4cfaa41114f84707b95f05f31">AuthError::SERVER_ERROR</a>, 
<br />
&#160;&#160;<a class="el" href="classaace_1_1alexa_1_1_auth_provider_engine_interface.html#a006d3fd3bee07feafa325968054abc37ab8c9d7ce4c399c56136475f36309020f">AuthError::INVALID_REQUEST</a>, 
<br />
&#160;&#160;<a class="el" href="classaace_1_1alexa_1_1_auth_provider_engine_interface.html#a006d3fd3bee07feafa325968054abc37ad8f24f388e990b9ccf8905b7993b99ae">AuthError::INVALID_VALUE</a>, 
<br />
&#160;&#160;<a class="el" href="classaace_1_1alexa_1_1_auth_provider_engine_interface.html#a006d3fd3bee07feafa325968054abc37ab5070f2cd4c592acd39c78b2023a56d3">AuthError::AUTHORIZATION_EXPIRED</a>, 
<br />
&#160;&#160;<a class="el" href="classaace_1_1alexa_1_1_auth_provider_engine_interface.html#a006d3fd3bee07feafa325968054abc37a58c1573951cde96d85d8fc7c0c850889">AuthError::UNSUPPORTED_GRANT_TYPE</a>, 
<br />
&#160;&#160;<a class="el" href="classaace_1_1alexa_1_1_auth_provider_engine_interface.html#a006d3fd3bee07feafa325968054abc37a12c3d12888b38141abcbee72ee836587">AuthError::INVALID_CODE_PAIR</a>, 
<br />
&#160;&#160;<a class="el" href="classaace_1_1alexa_1_1_auth_provider_engine_interface.html#a006d3fd3bee07feafa325968054abc37a6b627cb5218d413b73e27bed70c35a3d">AuthError::AUTHORIZATION_PENDING</a>, 
<br />
&#160;&#160;<a class="el" href="classaace_1_1alexa_1_1_auth_provider_engine_interface.html#a006d3fd3bee07feafa325968054abc37a4a0a2ddc7446f94d38bcdd71e9bd4ee6">AuthError::SLOW_DOWN</a>, 
<br />
&#160;&#160;<a class="el" href="classaace_1_1alexa_1_1_auth_provider_engine_interface.html#a006d3fd3bee07feafa325968054abc37ae8c0c70879b5895c615677261d64a1ee">AuthError::INTERNAL_ERROR</a>, 
<br />
&#160;&#160;<a class="el" href="classaace_1_1alexa_1_1_auth_provider_engine_interface.html#a006d3fd3bee07feafa325968054abc37a4ef167bea8f7fa2a2cfd2934ea952ce3">AuthError::INVALID_CBL_CLIENT_ID</a>
<br />
 }</td></tr>
<tr class="separator:a006d3fd3bee07feafa325968054abc37"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p><a class="el" href="classaace_1_1alexa_1_1_auth_provider_engine_interface.html">AuthProviderEngineInterface</a> </p>
</div><h2 class="groupheader">Member Enumeration Documentation</h2>
<a id="abe4ab37548dfaf7744afe9078e1792ec"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abe4ab37548dfaf7744afe9078e1792ec">&#9670;&nbsp;</a></span>AuthState</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="classaace_1_1alexa_1_1_auth_provider_engine_interface.html#abe4ab37548dfaf7744afe9078e1792ec">aace::alexa::AuthProviderEngineInterface::AuthState</a></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">strong</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Describes the state of client authorization with AVS </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="abe4ab37548dfaf7744afe9078e1792ecadd652546039b18970b8dcf2cff824268"></a>UNINITIALIZED&#160;</td><td class="fielddoc"><p>Authorization has not yet been acquired. </p>
</td></tr>
<tr><td class="fieldname"><a id="abe4ab37548dfaf7744afe9078e1792eca87d0a2ea7d2aee5153eaa716da4c8f60"></a>REFRESHED&#160;</td><td class="fielddoc"><p>Authorization has been refreshed. </p>
</td></tr>
<tr><td class="fieldname"><a id="abe4ab37548dfaf7744afe9078e1792eca38afd7ae34bd5e3e6fc170d8b09178a3"></a>EXPIRED&#160;</td><td class="fielddoc"><p>Authorization has expired. </p>
</td></tr>
<tr><td class="fieldname"><a id="abe4ab37548dfaf7744afe9078e1792ecaa0d7ca35e85a9f7eb269d17c780ab691"></a>UNRECOVERABLE_ERROR&#160;</td><td class="fielddoc"><p>Authorization has failed in a manner that cannot be corrected by retrying. </p>
</td></tr>
</table>

</div>
</div>
<a id="a006d3fd3bee07feafa325968054abc37"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a006d3fd3bee07feafa325968054abc37">&#9670;&nbsp;</a></span>AuthError</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="classaace_1_1alexa_1_1_auth_provider_engine_interface.html#a006d3fd3bee07feafa325968054abc37">aace::alexa::AuthProviderEngineInterface::AuthError</a></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">strong</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Describes an error during an attempt to authorize with AVS </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a006d3fd3bee07feafa325968054abc37ad306b6fdee05fe87455110ddf6501e6c"></a>NO_ERROR&#160;</td><td class="fielddoc"><p>No error encountered </p>
</td></tr>
<tr><td class="fieldname"><a id="a006d3fd3bee07feafa325968054abc37a9a10f345b0f755d461a8673a5e9ef6b4"></a>UNKNOWN_ERROR&#160;</td><td class="fielddoc"><p>An error was encountered, but no error description can be determined. </p>
</td></tr>
<tr><td class="fieldname"><a id="a006d3fd3bee07feafa325968054abc37adce1442cd971edf5002db43b36fffa35"></a>AUTHORIZATION_FAILED&#160;</td><td class="fielddoc"><p>The client authorization failed. </p>
</td></tr>
<tr><td class="fieldname"><a id="a006d3fd3bee07feafa325968054abc37a0416665af33a040a02e16a0448a44c92"></a>UNAUTHORIZED_CLIENT&#160;</td><td class="fielddoc"><p>The client is not authorized to use authorization codes. </p>
</td></tr>
<tr><td class="fieldname"><a id="a006d3fd3bee07feafa325968054abc37a3fd4acc4cfaa41114f84707b95f05f31"></a>SERVER_ERROR&#160;</td><td class="fielddoc"><p>The server encountered a runtime error. </p>
</td></tr>
<tr><td class="fieldname"><a id="a006d3fd3bee07feafa325968054abc37ab8c9d7ce4c399c56136475f36309020f"></a>INVALID_REQUEST&#160;</td><td class="fielddoc"><p>The request is missing a required parameter, has an invalid value, or is otherwise malformed. </p>
</td></tr>
<tr><td class="fieldname"><a id="a006d3fd3bee07feafa325968054abc37ad8f24f388e990b9ccf8905b7993b99ae"></a>INVALID_VALUE&#160;</td><td class="fielddoc"><p>One of the values in the request was invalid. </p>
</td></tr>
<tr><td class="fieldname"><a id="a006d3fd3bee07feafa325968054abc37ab5070f2cd4c592acd39c78b2023a56d3"></a>AUTHORIZATION_EXPIRED&#160;</td><td class="fielddoc"><p>The authorization code is invalid, expired, revoked, or was issued to a different client. </p>
</td></tr>
<tr><td class="fieldname"><a id="a006d3fd3bee07feafa325968054abc37a58c1573951cde96d85d8fc7c0c850889"></a>UNSUPPORTED_GRANT_TYPE&#160;</td><td class="fielddoc"><p>The client specified the wrong token type. </p>
</td></tr>
<tr><td class="fieldname"><a id="a006d3fd3bee07feafa325968054abc37a12c3d12888b38141abcbee72ee836587"></a>INVALID_CODE_PAIR&#160;</td><td class="fielddoc"><p>Invalid code pair provided in Code-based linking token request. </p>
</td></tr>
<tr><td class="fieldname"><a id="a006d3fd3bee07feafa325968054abc37a6b627cb5218d413b73e27bed70c35a3d"></a>AUTHORIZATION_PENDING&#160;</td><td class="fielddoc"><p>Waiting for user to authorize the specified code pair. </p>
</td></tr>
<tr><td class="fieldname"><a id="a006d3fd3bee07feafa325968054abc37a4a0a2ddc7446f94d38bcdd71e9bd4ee6"></a>SLOW_DOWN&#160;</td><td class="fielddoc"><p>Client should slow down in the rate of requests polling for an access token. </p>
</td></tr>
<tr><td class="fieldname"><a id="a006d3fd3bee07feafa325968054abc37ae8c0c70879b5895c615677261d64a1ee"></a>INTERNAL_ERROR&#160;</td><td class="fielddoc"><p>Internal error in client code. </p>
</td></tr>
<tr><td class="fieldname"><a id="a006d3fd3bee07feafa325968054abc37a4ef167bea8f7fa2a2cfd2934ea952ce3"></a>INVALID_CBL_CLIENT_ID&#160;</td><td class="fielddoc"><p>Client ID not valid for use with code based linking. </p>
</td></tr>
</table>

</div>
</div>
</div><!-- contents -->
<html>
  <body>
    <hr style="height:1px;border-width:0;color:gray;background-color:gray">
    <p style="text-align:left;">
      Alexa Auto SDK 2.2.0 - Copyright 2017-2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
      <span style="float:right;">
        Licensed under the <a HREF=http://aws.amazon.com/apache2.0/>Apache License, Version 2.0</a>
      </span>
    </p>
  </body>
</html>
